<!-- 我的表格 -->

<template>
  <el-form path="supply">
    <WebTable :key="supply_visible" path="supply" auto>
      <RowCheckbox :grayed="grayedIdList" />

      <RowTitle label="物资名称" bind="name" :minWidth="160" />

      <RowNum label="当前剩余" bind="max" />

      <RowSlot label="使用数量">
        <template #default="{ row }">
          <FormNum v-if="hasRow(row)" :one="row" bind="quantity" :min="1" :max="row.max" noLabel noMargin />
        </template>
      </RowSlot>
    </WebTable>
  </el-form>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyTable',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb('supply', 'supply_')],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 禁用 ID 列表
     */
    grayedIdList() {
      return this.supply_list.filter((item) => !item.max).map((item) => item.id)
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 是否选中该行
     */
    hasRow(row) {
      return this.supply_param.idList.some((id) => row.id === id)
    },
  },
}
</script>
